<?php


namespace app\admin\controller;



use think\facade\Db;

class Login
{

    protected $middleware = [
        'checkLogin' => ['only'  => ['index']],   // 那些方法要走中间件
//        'checkLogin' => ['except'=> ['index']], // 那些方法不要走中间件
    ];


    /**
     * 登录展示
     * @return string|\think\response\Redirect|\think\response\View
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\DbException
     * @throws \think\db\exception\ModelNotFoundExceptionj
     */
    public function index()
    {

        if (request()->isPost()) {
            $data = input('post.');

            // 验证码检验
            if (!captcha_check($data['verifycode'])) {
                return alert("验证码错误!", 'index', 5);
            };

            // 验证用户名
            $adminData = Db::name('admin')->where('user_name', $data['username'])->find();
            if (!$adminData) {
                return alert('用户名错误', 'index', 5);
            }


            //如果管理员有状态，status=1合法  0禁止
            if ($adminData['status'] == 0) {
                return alert('您的账号被禁止登录', 'index', 5);
            }

            //密码校验
            if ($adminData['password'] != $this->password_salt($data['password'])) {
                return alert('密码错误', 'index', 5);
            }

            Db::name('admin')->where('id', $adminData['id'])->update(['last_login_time' => time()]);
            session('adminSessionData', $adminData);

            return alert('登录成功', '/admin/index', 6);

        } else {
            return view('index');
        }

    }

    //后台密码加密盐
    public function password_salt($str){
        $salt='zxcvbn';
        return md5($salt.$str);
    }

}
